package com.zhiche.lisa.bms.service.pay;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zhiche.lisa.bms.dao.model.pay.PayAffirm;
import com.zhiche.lisa.bms.pojo.vo.pay.PayAffirmDetailVO;
import com.zhiche.lisa.bms.pojo.vo.pay.PayAffirmPageVO;
import com.zhiche.lisa.bms.pojo.vo.pay.PayAffirmVO;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * <p>
 * 付款确认 服务类
 * </p>
 *
 * @author WangShuiJin
 * @since 2018-10-11
 */
public interface PayAffirmService extends IService<PayAffirm> {

	/**
	 * 新增付款确认
	 *
	 * @param vo
	 * @param checked
	 */
	void insertPayAffirm(PayAffirmDetailVO vo, boolean checked);

	/**
	 * 修改付款确认
	 *
	 * @param vo
	 */
	void updatePayAffirm(PayAffirmDetailVO vo);

	/**
	 * 删除付款确认
	 *
	 * @param ids
	 */
	void deletePayAffirm(List<Long> ids);

	/**
	 * 根据付款确认主键ID，得到付款确认旗下的明细
	 *
	 * @param id
	 * @return
	 */
	PayAffirmVO getPayAffirmDetailByID(Long id);

	/**
	 * 查询付款确认列表（分页）
	 *
	 * @param page
	 * @return
	 */
	Page<PayAffirmPageVO> queryPayAffirmPage(Page<PayAffirm> page);

	/**
	 * 根据付款确认主键ID，查询付款确认
	 *
	 * @param id
	 * @return
	 */
	PayAffirm getPayAffirmByID(Long id);

	/**
	 * 付款确认，审核
	 *
	 * @param ids
	 */
	void verifyPayAffirm(@RequestBody List<Long> ids);

	/**
	 * 付款确认，取消审核
	 *
	 * @param ids
	 */
	void cancelVerifyPayAffirm(@RequestBody List<Long> ids);
}
